<?php

namespace Agp\CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use APY\DataGridBundle\Grid\Mapping as GRID;
use Doctrine\Common\Collections\ArrayCollection;
use Agp\CoreBundle\Entity\ListaPreco;

/**
 * Agp\CoreBundle\Entity\AmbienteProduto
 *
 * @ORM\Table(name="ambiente_produto")
 * @ORM\Entity(repositoryClass="Agp\CoreBundle\Repository\AmbienteProdutoRepository")
 * 
 */
class AmbienteProduto
{
    /**
     * @var integer $codAmbienteProduto
     *
     * @ORM\Column(name="cod_ambiente_produto", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     * 
     * @GRID\Column(title="Código", visible=false, type="text", size="5", primary=true)
     */
    protected $codAmbienteProduto;
    
    /**
     * @var $ambiente
     *
     * @ORM\ManyToOne(targetEntity="Ambiente", fetch="LAZY", inversedBy="produtos")
     * @ORM\JoinColumn(name="cod_ambiente", referencedColumnName="cod_ambiente")
     */
    protected $ambiente;
    
    /**
     * @var $evento
     *
     * @ORM\ManyToOne(targetEntity="Produto", fetch="LAZY")
     * @ORM\JoinColumn(name="cod_produto", referencedColumnName="cod_produto", nullable=true)
     */
    protected $produto;

    /**
     * @var $desconto
     *
     * @ORM\Column(name="desconto", type="integer", nullable=false)
     * @Assert\NotBlank()
     * 
     */
    protected $desconto;
    
    /* hack for Acls */
    public function getId(){
        return 'class';
    }

    public function __construct() {
        $this->desconto = 0;
    }
   
    public function getCodAmbienteProduto() {
        return $this->codAmbienteProduto;
    }

    public function getAmbiente() {
        return $this->ambiente;
    }

    public function getProduto() {
        return $this->produto;
    }

    public function getDesconto() {
        return $this->desconto;
    }

    public function setCodAmbienteProduto($codAmbienteProduto) {
        $this->codAmbienteProduto = $codAmbienteProduto;
    }

    public function setAmbiente($ambiente) {
        $this->ambiente = $ambiente;
    }

    public function setProduto($produto) {
        $this->produto = $produto;
    }

    public function setDesconto($desconto) {
        $this->desconto = $desconto;
    }

}